//
//  WBTitleButton.swift
//  WinsonWeibo
//
//  Created by Administrator on 2017/4/24.
//  Copyright © 2017年 Winson. All rights reserved.
//

import UIKit

class WBTitleButton: UIButton {

    init(title: String?) {
        super.init(frame: CGRect())

        // 1. 判断title是否为 nil，若为 nil 正常显示 “首页”， 不为 nil 显示 用户昵称
        if title == nil {
            setTitle("首页", for: UIControlState.normal)
        } else {
            setTitle(title! + " ", for: UIControlState.normal)

            // 2. 设置图像
            setImage(UIImage(named: "navigationbar_arrow_down"), for: UIControlState.normal)
            setImage(UIImage(named: "navigationbar_arrow_up"), for: UIControlState.selected)
        }
        // 3. 设置字体
        titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
        setTitleColor(UIColor.darkGray, for: UIControlState.normal)

        // 4. 设置大小
        sizeToFit()

        // 第一次要调用布局一次
        layoutSubviews()

    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    ///重新布局子视图
    override func layoutSubviews() {
        super.layoutSubviews()

        guard let titleLabel = titleLabel,
            let imageView = imageView
            else {
            return
        }

        // 将 label 的 x 向左移动 imageView 的宽度
        titleLabel.frame = titleLabel.frame.offsetBy(dx: -imageView.bounds.width, dy: 0)
        // 将 imageView 的 x 向右移动 label 的宽度
        imageView.frame = imageView.frame.offsetBy(dx: titleLabel.bounds.width, dy: 0)

        print("调整按钮的布局")
    }
}
